/** 
 * @Company: 北京慧点科技有限公司 | www.smartdot.com.cn
 * @Copyright 1998-2022 © Smartdot Technologies Co., Ltd.
 */
package com.hd.rcugrc.project.leaveapplication.leave.mvc;

import com.hd.rcugrc.bpm.facade.mobile.mvc.query.ListInfoQuery;
import com.hd.rcugrc.bpm.facade.mobile.mvc.query.ListQueryResult;
import com.hd.rcugrc.security.context.AuthenticationHelper;
import com.hd.rcugrc.web.ws.Expression;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hd.rcugrc.project.leaveapplication.leave.service.OaOfficeLeaveService;

/**
 * 请假申请单-控制器 - 由代码生成器生成
 * 
 * @class: OaOfficeLeaveController
 * @date 2024-07-15 09:35:47
 * @author smartdot
 * @version 1.0 - 2024-07-15 09:35:47
 * @see
 */
@Tag(name = "OA请假申请单审批单")
@RestController("OaOfficeLeaveController")
@RequestMapping("${url.rest.prefix.framework.v1}/oaofficeleave")
public class OaOfficeLeaveController implements InitializingBean {
    
    Logger logger = LoggerFactory.getLogger(getClass());
    
    @Autowired
    @Qualifier("oaOfficeLeaveService")
    private OaOfficeLeaveService oaOfficeLeaveService;
    
    @Override
    public void afterPropertiesSet() throws Exception {
        Assert.notNull(oaOfficeLeaveService, "oaOfficeLeaveService is required!");
    }

    @RequestMapping("/todo")
    public ListQueryResult findTaskProcessed(@RequestBody ListInfoQuery listInfoQuery) {
        return oaOfficeLeaveService.getProcessedData();
    }
    @RequestMapping("/processed")
    public ListQueryResult findArleadyProcessed(@RequestBody ListInfoQuery listInfoQuery) {
        return oaOfficeLeaveService.getArleadyProcessed();
    }
    @RequestMapping("/completed")
    public ListQueryResult findClosedAccount(@RequestBody ListInfoQuery listInfoQuery) {
        return oaOfficeLeaveService.getClosedAccount();
    }
}
